//#include <iostream>
//#include <unistd.h>
//using namespace std;
//int main()
//{
//    extern char** environ;
//    for (int i = 0; environ[i]; i++)
//    {
//        cout << "environ[" << i << "]: " << environ[i] << endl;
//    }
//    return 0;
//}

//#include <iostream>
//#include <vector>
//#include <string>
//using namespace std;
//int Number(char x)
//{
//    return x >= '0' && x <= '9' || x == '.';
//}
//int check(char a, char b)
//{
//    if (a == '+' || a == '-')
//    {
//        if (b == '+' || b == '-')
//            return 0;
//        else
//            return 1;
//    }
//    else if (a == '*' || a == '/')
//    {
//        if (b == '(')
//            return 1;
//        else
//            return 0;
//    }
//    else if (a == '(')
//    {
//        if (b == ')')
//            return 0;
//        else
//            return 1;
//    }
//}
//double Fun(double a, char c, double b)
//{
//    if (c == '-')
//        return b - a;
//    if (c == '+')
//        return b + a;
//    if (c == '*')
//        return b * a;
//    if (c == '/')
//        return b / a;
//}
//int main()
//{
//    int len, nums, top;
//    string s1;
//    string s2(100, '0');
//    vector<double>v(100, 0);
//    while (1)
//    {
//        cin >> s1;
//        if (s1[0] == '=')
//            break;
//        len = s1.size();
//        nums = 0, top = 0;
//        for (int i = 0; i < len; i++)
//        {
//            if (Number(s1[i]))
//            {
//                double number = 0;
//                int j = 0, k = 0;
//                for (j = i; j < len && s1[j] != '.' && Number(s1[j]) != 0; j++)
//                    number = number * 10 + s1[j] - '0';
//                k = j;
//                if (s1[j] == '.')
//                {
//                    double m = 0.1;
//                    for (k = j + 1; k < len && Number(s1[k]) != 0; k++)
//                    {
//                        number += m * (s1[k] - '0');
//                        m /= 10;
//                    }
//                }
//                if (i == 1 && s1[0] == '-' || i > 1 && s1[i - 1] == '-' && Number(s1[i - 2]) == 0)
//                    number *= -1;
//                i = k - 1;
//                v[++nums] = number;
//            }
//            else
//            {
//                if ((s1[i] == '+' || s1[i] == '-') && (i == 0 || s1[i - 1] == '(' || (Number(s1[i - 1]) == 0 && s1[i - 1] != ')')))
//                    continue;
//                if (s1[i] == ')')
//                {
//                    while (s2[top] != '(')
//                    {
//                        double a = v[nums--], b = v[nums--];
//                        char c = s2[top--];
//                        v[++nums] = Fun(a, c, b);
//                    }
//                    top--;
//                }
//                else
//                {
//                    if (top == 0)
//                        s2[++top] = s1[i];
//                    else
//                    {
//                        if (check(s2[top], s1[i]) == 1)
//                            s2[++top] = s1[i];
//                        else
//                        {
//                            while (top != 0 && check(s2[top], s1[i]) == 0)
//                            {
//                                double a = v[nums--], b = v[nums--];
//                                char c = s2[top--];
//                                v[++nums] = Fun(a, c, b);
//                            }
//                            s2[++top] = s1[i];
//                        }
//                    }
//                }
//            }
//        }
//        while (top != 0)
//        {
//            double a = v[nums--], b = v[nums--];
//            char c = s2[top--];
//            v[++nums] = Fun(a, c, b);
//        }
//        fprintf(stdout, "%.1f\n", v[nums]);
//    }
//    return 0;
//}